<!--
  ~ Hibernate, Relational Persistence for Idiomatic Java
  ~
  ~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
  ~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
  -->
<html>
<head></head>

<body>
<p>
	Demonstration of different ways to use Hibernate to represent your domain
	model as a series of JDK dynamic proxies.  We map the interfaces and then
	use one of two approaches to get Hibernate to recognize these proxies as
	domain entities.  Really this is demonstrating various "entity representation"
	capabilities built in to Hibernate3.
</p>
<p>
	First we use an interceptor-based approach where we use a custom Interceptor
	implementation for interpret incoming proxies (and resolve them to the correct
	mappings) and to help Hibernate instantiate these proxy instances.  This is the
	quick-and-dirty approach.  It is fully expected that this approach will
	encounter certain limitations.
</p>
<p>
	Next we explore the notion of a Tuplizer and plug in custom Tuplizers to
	help achieve the same results.  Currently, Tuplizers do not have a chance
	to influence the resolution of entity-name given a potential entity, so we
	also use an Interceptor here and supply its getEntityName() impl.  This is
	simply so we do not need to supply the entity name explicitly to the
	Hibernate Session calls.
</p>
</body>

</html>